class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        self.dp = [[1] * n for _ in range(m)]
        print(self.dp)
        for i in range(1, m):
            for j in range(1, n):
                self.dp[i][j] = self.dp[i - 1][j] + self.dp[i][j - 1]
        
        return self.dp[m - 1][n - 1]

if __name__ == '__main__':
    s = Solution()
    print(s.uniquePaths(3, 7))